/*

模拟登陆 51  cto
https://home.51cto.com/index
 */


const puppeteer = require('puppeteer'); //引入puppeteer库
const xpathUtil = require('./util/XpathUtil');
(async () => {
    const browser = await puppeteer.launch({    //启动浏览器
        headless: false,   //代码运行时打开浏览器方便观察
        // devtools:true   //打开f12界面
    });
    const page = await browser.newPage();  //打开浏览器的一个tab 页
    //networkidle2 - 只有2个网络连接时触发（至少500毫秒后）
    await page.goto('https://home.51cto.com/index', {timeout: 10 * 1000, waitUntil: 'networkidle2'});  //访问51cto 登陆页面
    //等待 账号密码登陆元素出现  並且點擊
    await  page.waitForXPath('//a[contains(string(),"账号密码登录")]', {timeout: 10 * 1000});
    await xpathUtil.$xClick(page, '//a[contains(string(),"账号密码登录")]');
    //等待账号密码显示
    await  page.waitForSelector('#loginform-username', {timeout: 10 * 1000});
    //输入账号密码
    await   page.type('#loginform-username', "你的账号")
    await   page.type('#loginform-password', "你的密码")
    //点击登录
    await page.click('.loginbtn');
    //等待网页跳转  networkidle0  不在有网络响应
    const response = await  page.waitForNavigation({timeout: 10 * 1000, waitUntil: 'networkidle0'});
    //输出响应的页面
    console.log(await response.text())


    // await browser.close();  //关闭浏览器
})();